Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling

Over Uitwisselprofiel Zorgkantoren Inkoopondersteuning en beleidsontwikkeling


Publicatiedatum:
18-06-2026

Inwerkingtreding:
18-06-2026

24.7 Overig - wat is de arbeidsintensiteit PNIL?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: Zorgkantoren 24.7
2# Parameters: ?startperiode, ?eindperiode
3# Ontologie: versie 3.0.0 of nieuwer
4# 
5PREFIX onz-fin: <http://purl.org/ozo/onz-fin#>
6PREFIX onz-g: <http://purl.org/ozo/onz-g#>
7PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
8
9SELECT ?Kental ?Waarde WHERE {
10    {
11        SELECT
12        (
13            IF(
14                BOUND(?p_totaal) && (?p_totaal != 0),
15                (COALESCE(?q_ii, 0) / xsd:decimal(?p_totaal) * -1),
16                "Ongedefinieerd"
17            ) AS ?aipnil
18        )
19
20        WHERE {
21            {
22                # DEEL 1: P totaal berekenen
23                SELECT (SUM(?p_bedrag) AS ?p_totaal)
24                WHERE {
25                    # BIND("2024-01-01"^^xsd:date AS ?startperiode)                
26                    # BIND("2024-12-31"^^xsd:date AS ?eindperiode)
27
28                    # Koppel grootboekposten aan rubrieken binnen meetperiode
29                    ?grootboek_post 
30                        a onz-fin:Grootboekpost ;
31                        onz-g:partOf ?rubriek ;
32                        onz-g:hasDate ?datum ;
33                        onz-fin:heeftGeldBedrag ?geld_bedrag .
34
35                    # Match directe ouder: Grootboekrekening (RGS) of Grootboekrubriek (Prismant)
36                    {
37                        { ?rubriek a onz-fin:Grootboekrekening }
38                        UNION
39                        { ?rubriek a onz-fin:Grootboekrubriek }
40                    }
41                    # Anti-dubbeltelling: houd alleen het bladniveau (geen transitive ancestors)
42                    FILTER NOT EXISTS {
43                        ?grootboek_post onz-g:partOf ?child .
44                        ?child onz-g:partOf ?rubriek .
45                        FILTER(?child != ?rubriek)
46                        { { ?child a onz-fin:Grootboekrekening } UNION { ?child a onz-fin:Grootboekrubriek } }
47                    }
48                    FILTER(STRSTARTS(STR(?rubriek), STR(onz-fin:)))
49                    BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode)
50
51                    FILTER (?datum >= ?startperiode && ?datum <= ?eindperiode)
52
53                    # P-bedragen
54                    BIND(
55                        IF(
56                            STRSTARTS(?rubriekCode, "81") ||
57                            STRSTARTS(?rubriekCode, "82") ||
58                            STRSTARTS(?rubriekCode, "83") ||
59                            STRSTARTS(?rubriekCode, "89") ||
60                            STRSTARTS(?rubriekCode, "919") ||
61                            STRSTARTS(?rubriekCode, "920") ||
62                            STRSTARTS(?rubriekCode, "930") ||
63                            STRSTARTS(?rubriekCode, "WOmz") ||
64                            STRSTARTS(?rubriekCode, "WRev") ||
65                            STRSTARTS(?rubriekCode, "WRvi") ||
66                            STRSTARTS(?rubriekCode, "WRgr") ||
67                            STRSTARTS(?rubriekCode, "WWvv") ||
68                            STRSTARTS(?rubriekCode, "WNoa") ||
69                            STRSTARTS(?rubriekCode, "WLbe") ||
70                            STRSTARTS(?rubriekCode, "WBat") ||
71                            STRSTARTS(?rubriekCode, "WWiv") ||
72                            STRSTARTS(?rubriekCode, "WOvb"),
73                            ?geld_bedrag, 0) AS ?p_bedrag
74
75                    )
76                }
77            }
78
79            # DEEL 2: Q.II Kosten uitbesteed werk en andere externe kosten
80            # Prismant: 417/418
81            # RGS: WKprKuw
82            {
83                SELECT (SUM(?q_ii_bedrag) AS ?q_ii)
84                WHERE {
85                    # BIND("2024-01-01"^^xsd:date AS ?startperiode)                
86                    # BIND("2024-12-31"^^xsd:date AS ?eindperiode)
87                    
88                    ?grootboek_post 
89                        a onz-fin:Grootboekpost ;
90                        onz-g:partOf ?rubriek ;
91                        onz-g:hasDate ?datum ;
92                        onz-fin:heeftGeldBedrag ?geld_bedrag .
93
94                    # Match directe ouder: Grootboekrekening (RGS) of Grootboekrubriek (Prismant)
95                    {
96                        { ?rubriek a onz-fin:Grootboekrekening }
97                        UNION
98                        { ?rubriek a onz-fin:Grootboekrubriek }
99                    }
100                    
101                    # Anti-dubbeltelling: houd alleen het bladniveau (geen transitive ancestors)
102                    FILTER NOT EXISTS {
103                        ?grootboek_post onz-g:partOf ?child .
104                        ?child onz-g:partOf ?rubriek .
105                        FILTER(?child != ?rubriek)
106                        { { ?child a onz-fin:Grootboekrekening } UNION { ?child a onz-fin:Grootboekrubriek } }
107                    }
108                    FILTER(STRSTARTS(STR(?rubriek), STR(onz-fin:)))
109                    BIND(STRAFTER(STR(?rubriek), STR(onz-fin:)) AS ?rubriekCode)
110
111                    FILTER (?datum >= ?startperiode && ?datum <= ?eindperiode)
112
113                    BIND(
114                        IF(
115                            STRSTARTS(?rubriekCode, "417") ||
116                            STRSTARTS(?rubriekCode, "418") ||
117                            STRSTARTS(?rubriekCode, "WKprKuw"),
118                            ?geld_bedrag, 0
119                        ) AS ?q_ii_bedrag
120                    )
121
122                }
123            }
124        }
125    }
126    VALUES ?Kental {
127        "Arbeidsintensiteit PNIL"
128        "Arbeidsintensiteit PNIL%"
129    }
130
131    BIND(
132        IF(?Kental = "Arbeidsintensiteit PNIL",
133            ?aipnil,
134            IF(DATATYPE(?aipnil) = xsd:string,
135                "Ongedefinieerd"^^xsd:string,
136                xsd:decimal(?aipnil) * 100
137            )
138        ) AS ?Waarde
139    )
140}
141ORDER BY ?Kental
142